package com.keqiang.chart.impl.axis.render

import android.graphics.Canvas
import com.keqiang.chart.animation.Animator
import com.keqiang.chart.impl.axis.Axis
import com.keqiang.chart.impl.axis.AxisEntity

/**
 * 图表数据绘制器
 *
 * @author Created by wanggaowan on 2022/7/20 10:32
 */
interface IDataRender {
    /**
     * 绘制图表数据，参数中的坐标为实际可绘制的起始和结束坐标，已自动处理了[Axis]中设置的偏移值。
     * 此时[AxisEntity.drawRectF]未就绪
     *
     * @param start X轴绘制起始位置
     * @param end X轴绘制结束
     * @param top Y轴绘制顶部位置
     * @param bottom Y轴绘制底部位置
     * @param gridWidth 网格宽度
     * @param gridHeight 网格高度
     * @param animator 动画，用于获取动画进度
     */
    fun onDraw(canvas: Canvas,
               start: Float, top: Float,
               end: Float, bottom: Float,
               gridWidth: Float,
               gridHeight: Float,
               animator: Animator?)
}